home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / dev / RCS / xbus.h,v < prev   
Text File  |  1992-08-11  |  3KB  |  115 lines

  1. head     1.1;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    elm:1.1; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.1
  10. date     92.07.09.18.35.10;  author elm;  state Exp;
  11. branches ;
  12. next     ;
  13.  
  14.  
  15. desc
  16. @Include file to be used with the XBUS board driver.
  17. @
  18.  
  19.  
  20.  
  21. 1.1
  22. log
  23. @Initial revision
  24. @
  25. text
  26. @/*
  27.  * xbus.h --
  28.  *
  29.  *    Declarations of interface to the xbus board.
  30.  *
  31.  * Copyright 1990 Regents of the University of California
  32.  * Permission to use, copy, modify, and distribute this
  33.  * software and its documentation for any purpose and without
  34.  * fee is hereby granted, provided that the above copyright
  35.  * notice appear in all copies.  The University of California
  36.  * makes no representations about the suitability of this
  37.  * software for any purpose.  It is provided "as is" without
  38.  * express or implied warranty.
  39.  *
  40.  * $Header: /sprite/src/kernel/dev/sun4.md/RCS/vmelink.h,v 1.1 91/09/18 12:39:35 jhh Exp Locker: elm $ SPRITE (Berkeley)
  41.  */
  42.  
  43. #ifndef _XBUS
  44. #define _XBUS
  45.  
  46. #define    IOC_XBUS            (18 << 16)
  47. #define    IOC_XBUS_RESET            (IOC_XBUS | 0x1)
  48. #define    IOC_XBUS_READ_REG        (IOC_XBUS | 0x11)
  49. #define    IOC_XBUS_WRITE_REG        (IOC_XBUS | 0x12)
  50.  
  51. typedef struct DevXbusRegisterAccess {
  52.     unsigned int    registerNum;
  53.     unsigned int    value;
  54. } DevXbusRegisterAccess;
  55.  
  56. #define    DEV_XBUS_MAX_BOARDS        4
  57.  
  58. /*
  59.  * Sun4 address space the link occupies (2=d16, 3=d32)
  60.  */
  61. #define DEV_XBUS_ADDR_SPACE        3
  62.  
  63. #define    DEV_XBUS_DIP_SWITCH        5
  64. #define    DEV_XBUS_MEMORY_BASE        (DEV_XBUS_DIP_SWITCH >> 24)
  65. #define    DEV_XBUS_REGISTER_BASE        (0x08400000 | DEV_XBUS_MEMORY_BASE)
  66.  
  67. #define    DEV_XBUS_REG_RESET        0x000
  68. #define    DEV_XBUS_REG_ATC0_PAR_ADDR    0x080
  69. #define    DEV_XBUS_REG_ATC0_PAR_DATA    0x084
  70. #define    DEV_XBUS_REG_ATC1_PAR_ADDR    0x088
  71. #define    DEV_XBUS_REG_ATC1_PAR_DATA    0x08c
  72. #define    DEV_XBUS_REG_ATC2_PAR_ADDR    0x090
  73. #define    DEV_XBUS_REG_ATC2_PAR_DATA    0x094
  74. #define    DEV_XBUS_REG_ATC3_PAR_ADDR    0x098
  75. #define    DEV_XBUS_REG_ATC3_PAR_DATA    0x09c
  76. #define    DEV_XBUS_REG_SERVER_PAR_ADDR    0x0a0
  77. #define    DEV_XBUS_REG_SERVER_PAR_DATA    0x0c0
  78. #define    DEV_XBUS_REG_STATUS        0x0e0
  79. #define    DEV_XBUS_REG_HIPPID_CTRL_FIFO    0x400
  80. #define    DEV_XBUS_REG_HIPPIS_CTRL_FIFO    0x800
  81. #define    DEV_XBUS_REG_XOR_CTRL_FIFO    0xc00
  82.  
  83. #define    DEV_XBUS_RESETREG_CHECK_PARITY    (1 << 13)
  84. #define    DEV_XBUS_RESETREG_RESET        0x0
  85. #define    DEV_XBUS_RESETREG_NORMAL    (0x0ffb | \
  86.                      DEV_XBUS_RESETREG_CHECK_PARITY)
  87.  
  88. #define    DEV_XBUS_STATUS_ATC0_PARITY_ERR        (1 << 0)
  89. #define    DEV_XBUS_STATUS_ATC1_PARITY_ERR        (1 << 1)
  90. #define    DEV_XBUS_STATUS_ATC2_PARITY_ERR        (1 << 2)
  91. #define    DEV_XBUS_STATUS_ATC3_PARITY_ERR        (1 << 3)
  92. #define    DEV_XBUS_STATUS_SERVER_PARITY_ERR    (1 << 4)
  93. #define    DEV_XBUS_STATUS_XOR_INTERRUPT        (1 << 5)
  94. #define    DEV_XBUS_STATUS_HIPPID_FIFO_NONEMPTY    (1 << 6)
  95. #define    DEV_XBUS_STATUS_HIPPIS_FIFO_NONEMPTY    (1 << 7)
  96.  
  97. typedef struct DevXbusParityErrorInfo {
  98.     volatile unsigned int    data;
  99.     volatile unsigned int    addr;
  100. } DevXbusParityErrorInfo;
  101.  
  102. typedef struct DevXbusCtrlRegs {
  103.     volatile unsigned int    reset;
  104.     volatile unsigned int    pad1[0x1f];
  105.     DevXbusParityErrorInfo atcParity[4];
  106.     volatile unsigned int    serverParityAddr;
  107.     volatile unsigned int    pad2[0x7];
  108.     volatile unsigned int    serverParityData;
  109.     volatile unsigned int    pad3[0x7];
  110.     volatile unsigned int    status;
  111. } DevXbusCtrlRegs;
  112.  
  113. #endif    /* _XBUS */
  114. @
  115.